package com.zhentao.day06;

import java.util.Scanner;

public class Exp1 {
  public static void main(String[] args) {
    // 1.需要与系统交互, 就需要用到  Scanner
    Scanner scn = new Scanner(System.in);
    double max = 0.0 ;
    double min = 0.0 ;
    double value = 0.0 ;
    //3 . 声明一个可以存储商品价格的数组
    double [] prices  = new double[10];
    for(;;){
      System.out.println("********************菜单********************");
      System.out.println("1.录入价格2.平均价格3.最低价和最高价4.入手5.退出");
      System.out.println("*******************************************");
      System.out.println("请选择");
      int choose = scn.nextInt();// 让用户输入选择的值

      switch (choose){
        case 1 :
          // 3. 数组存值
          for (int i = 0; i < 10; i++) {
            prices[i] = scn.nextDouble(); // 用户录入价格 赋值给数组遍历时的每一个元素

          }
          for (int i = 0; i < 10; i++) {
            System.out.print(prices[i] +"\t");
            if(i == 4){
              System.out.println();
            }
          }
          System.out.println();
          break ;
        case 2 :
          // 4.拿到数组里面元素值的和。
          double sum = 0.0 ;  // 4.1 定义一个变量 用来存储数组里面元素的和
          for (int i = 0; i < prices.length; i++) {
            // sum += prices[i];
            sum = sum + prices[i];
          }
          // 4.2 求平均值
          value = sum / prices.length ;
          System.out.println("当前录入10次价格的平均值是 : " + value ); // 11.0
          // 4.3 声明一个小于等于平均数的次数的变量
          int count = 0 ;
          for (int i = 0; i < prices.length; i++) {
            double arrV = prices[i];
            if(arrV <= value){
              count++;
            }
          }
          System.out.println("目前小于平均数的次数是 " + count + "\t 小于平均数的比例 :" + (count/prices.length));

          break ;
        case 3 :
          // 4.4 实现录入的最大值存储及最小值存储


          for (int i = 0; i < prices.length; i++) {
            if(max < prices[i]){
              max = prices[i];
            }
          }

          min = max ;
          for (int i = 0; i < 10; i++) {
            if(min >= prices[i]){
              min = prices[i];
            }
          }

          int maxCount = 0 ;
          int minCount = 0 ;
          for (int i = 0; i < prices.length; i++) {
            if(max == prices[i]){
              maxCount ++ ;
            }
            if(min == prices[i]){
              minCount++;
            }
          }

          System.out.println("当前价格里面最低价格是 : " + min + "\t 最高价格是 : " + max);
          System.out.println("最小值出现的次数是 : "+minCount + "最大值出现的次数是 : "+maxCount);
          System.out.println("最小值出现的比例是 : "+(minCount/prices.length) + "最大值出现的次数是 : "+(maxCount/prices.length));
          break ;
        case 4 :
          System.out.println("请输入您购买的价格 : ");
          double price = scn.nextDouble();

          if(price > value){
            System.out.println("购买价格高于平均价格, 不建议购买");
          }else if(price < min){
            System.out.println("购买价格小于平均价格, 建议购买");
          } else if (price > min && price < value) {
            System.out.println("购买价格在平均价格和最低价格之间, 建议购买");
          }
          break ;
        case 5 : return ; // 2 . return 结束程序
        default: break;
      }
    }



  }
}
